Computing Fundamentals

a programmable usually electronic device that can store, retrieve, and process data

— Merriam-Webster

Computer Architecture

von Neumann Archicture

At a high level, von Neumann architecture diagrams represent the most essential components of an electronic computer.

von neumann
Figure 1. von Neumann Architecture

The Early Days

Individual computers were large, analog devices that required teams of people to manage.

ibm
Figure 2. Image of the IBM System 360 Model 91 operator’s console

And might have required large complex peripherals to load in data.

reader ibm
Figure 3. IBM 2314 disk drives and IBM 2540 card reader/punch at the University of Michigan

Increasing Complexity

Operating Systems

As complexity of these electronic computers increased (and price decreased), Operating Systems (OS) were created more institutions started to get their hands on them.

Some problems started to arise:

  • How do we keep people from accessing data they should not have access to?

  • How do we create a system in which users can execute multiple programs at once?

  • How do we let multiple people have access to this fancy new machine at once?

Early Operating Systems

Added multitasking/security as a core component of the operating system by being clever about input and output devices.

line printer
Figure 4. IBM 1403 line printer

Which brings up a different issue, how do we keep track of memory, IO, etc?

Core Functionality of Operating Systems

  • Memory management

  • Input and Output

  • Security

  • Command Interpreter (more on this later)

Later on…​

  • File Management (more on this later)

  • Resource Management

Modern Day OS

  • Windows (Home PCs, Servers, Workstations)

  • Mac OS (Home PCs, Portable PCs, Workstations)

  • Linux (Servers, Workstations)

Terminals

  • Terminals were used in conjunction with time sharing systems.

  • Typically, did not have computing power and required a mainframe computer to perform operations. Used to interact with the mainframe, run programs, etc.

terminal
Figure 5. The DEC VT100, a widely emulated computer terminal. Still lives in spirit on modern OS.

Files

  • Packaged data

  • Typically have a format to which they adhere.

TXT files

  • Raw text data, made up of ASCII characters.

  • Python scripts are essentially TXT files.

File Systems

  • Operating systems handle file management differently.

  • The common denominator is that:

    • There is always a root directory (the topmost location).

    • Everything lies beneath the root in a path through the folders.

  • Folders within folders structure creates a 'directory tree'.